1. Technical Field
The present application relates generally to an improved duty cycle correction circuit. More specifically, the present application is directed to a duty cycle correction circuit whose operation is largely independent of operating voltage and process.
2. Description of Related Art
Many modern electronic systems require a precise clock circuit for proper operation. For example, digital information processing equipment such as a computer must have an accurate and reliable clock source to control the various signals that are sent between the functional components of the computer. In such systems, it is very important that all of the components are properly synchronized to a common clock.
Synchronous electronic equipment utilizes an oscillator circuit to produce a basic source frequency signal. This signal is in turn utilized to drive other circuitry (such as a phase-lock loop, or PLL) for developing desired rise and fall times of square-wave signals, and desired signal levels. The clock rate requirements for timing digital information processing systems are generally proportional to the switching speeds of the circuitry employed. As clock circuits improve and clock rates increase, tolerances are necessarily diminished, and clock skew becomes an ever-increasing problem.
Different problems can arise in the accuracy of the clock signal. Variations in timing between successive rising edges (or falling edges), i.e., the overall cycle variation (often referred to as “jitter”) typically relates to the oscillator. Variations in the duty cycle (the portion of the overall cycle in which the signal is “on”), i.e., between a rising edge and the next falling edge, typically relate to the clock distribution network, although variations in the duty cycle can also be caused by the oscillator. Clock distribution networks use various elements such as buffers and inverters, often cascaded. These networks can introduce duty cycle distortion due to circuit and interconnect modeling inaccuracies, process variations, and the environment.
For systems which use both the rising and falling edges for timing, a non-optimal clock duty cycle may require a lower clock frequency, reducing performance. A duty cycle error of just 5% for instance (from 50% to 45%) may require a system clock to run at a maximum speed that is 10% lower, causing a significant impact on system performance.
Many circuits require a specific duty cycle for clocking signals to provide optimal performance. For example, multi-phase clocking systems often require a symmetrical wave shape that is characteristically desired to operate at a 50% duty cycle. Some applications require a duty cycle other than 50%. One use of non-50% duty cycles is in digital clocking where pulse-mode latching is used rather than edge-latching in order to reduce the setup-hold overhead associated with the latches.
Actual duty cycles typically do not have precisely the desired value. Even if a clock signal has the required duty cycle at some point in the system (e.g., at the output of an on-chip voltage-controlled oscillator), the duty cycle will deviate from the required percentage as the clock signal is buffered and distributed throughout the chip.
Different approaches have been devised to actively control the duty cycle. Most of these approaches involve measurement of the error in the duty cycle, and provision of a correction signal to reduce that error. The generation of the correction signal is performed by a duty cycle correction circuit. Various types of duty cycle correction circuits have been devised. One such duty cycle correction circuit is shown in FIG. 1A.
As shown in FIG. 1A, the duty cycle correction circuit 100 is comprised of a plurality of pairs of P-type and N-type field effect transistors (FETs). The first pair of FETs comprises a first P-type FET (PFET) 110 and a first N-type FET (NFET) 120. The FETs of the first pair of FETs have relatively large resistance values compared to the FETs in the second pair of FETs. A second pair of FETs comprises a second P-type FET (PFET) 130 and a second N-type FET (NFET) 140. The FETs of the second pair of FETs have a relatively small resistance value when compared to the FETs of the first or third pair of FETs. By the term “small” in the present description what is meant is that the smaller item is less than approximately 10% of the larger item. Thus, for example, the resistance value of the second pair of FETs is less than approximately 10% of the resistance values of the first or third pair of FETs.
The first and second pairs of FETs are coupled to a third pair of FETs that comprises a third PFET 150 and a third NFET 160. The first pair of FETs are part of the inverter circuit that provides the duty cycle correction. The second pair of FETs are used to increase or decrease the pulse width of the input signal. The third pair of FETs operate as buffers between each successive duty cycle correction stage.
The second pair of FETs are used to selectively pull-up or pull-down the pulse width of the input signal IN, e.g., an input clock signal. The selective pull-up and pull-down operation of the duty cycle correction circuit 100 is made possible by the controlled opening and closing of switches 170 and 180. The opening and closing of switches 170 and 180 may be controlled by a duty cycle control unit 190 based on a detected duty cycle as detected by duty cycle detection unit 195, for example. An example of such a duty cycle control unit 190 and detection unit 195 is provided in U.S. Pat. No. 6,501,313.
As shown in FIG. 1A, the pull-up of the pulse width, i.e. the increase of the pulse width and thus, the decrease in the duty cycle, is affected by the selective closing of switch 170. As shown in FIG. 1B, the duty cycle correction due to the closing of switch 170 is equivalent to the driving of the input signal toward a capacitance of the node Out′ through parallel resistors. The parallel resistors have resistance values equivalent to the on-resistances of the PFET 110 and PFET 130.
Similarly, the pull-down of the pulse width, i.e. the decrease in the pulse width and thus, the increase in the duty cycle, is affected by the selective closing of switch 180. As shown in FIG. 1C, the duty cycle correction due to the closing of switch 180 is equivalent to the driving of the input signal away from a capacitance of the node Out′ through parallel resistors. The parallel resistors have resistance values equivalent to the on-resistances of the NFET 120 and NFET 140.
With the circuitry of FIG. 1A, if no duty cycle correction is required, as determined by the duty cycle detection unit 195, for example, then the switches 170 and 180 are open, i.e. the duty cycle control unit 190 does not assert control signals to the switches 170 and 180. In that case, assuming that the strengths of the first PFET 110 and the first NFET 120 are identical, the rise/fall time constant (Trise/fall) to charge the node Out′ to a voltage equal to e*VDD will be:Trise/fall˜CRP1,N1  (1)where C is the effective capacitance at node Out′ and RP1,N1 are the effective on-resistances of PFET 110 and NFET 120.
To decrease the pulse width, and thereby increase the duty cycle, the switch 170 is closed and, as a result the time constant for charging the node Out′ to a voltage equal to e*VDD is approximately the product of the effective capacitance at node Out′ and the parallel combination of resistances of NFET 120 and NFET 140:Trise˜C(RN1//RN2)  (2)
A first order approximation of the incremental duty cycle correction of the duty cycle correction circuit 100 may be found by subtracting equation 2 from equation 1:Correction˜C[RN1−(RN1//RN2)] orCorrection˜C[RN12/(RN1+RN2)]  (3)
For an increase in pulse width, the incremental correction is given byCorrection˜C[RP12/(RP1+RP2)]  (4)
In order to provide more granularity with regard to the correction performed using the mechanism of FIG. 1A, a series of pairs of FETs 130 and 140, as well as switches 170 and 180, may be provided that are individually controllable to provide various levels of duty cycle correction. FIG. 2A shows such a circuit arrangement in which a plurality of pairs of FETs 210-240 and switches 250-280 are provided in series. The switches 250-280 may be individually controlled by the duty cycle control unit 290 which has logic for determining a set of control signals for applying a desired duty cycle correction based on the measured duty cycle from the duty cycle detection unit 295 and a desired duty cycle, e.g., a 50% duty cycle.
FIGS. 2B and 2C illustrate the pull-up and pull-down behavior of the series of pairs of FETs 210-240 with regard to the duty cycle correction, similar to FIGS. 1B and 1C. As shown in FIGS. 2B and 2C, the affect is basically to add additional resistances in parallel between the capacitance of node Out′ and input signal source.
For a series of n duty cycle correction chains, i.e. pairs of correction FETs 210-240, as shown in FIG. 2A, equations 3 and 4 above may be modified to be the following:
                    Correction        =                              C            [                                          R                N1                2                            (                                                ∑                                      i                    ≠                    1                                                  ⁢                                  R                  Ni                                            )                        ]                    /                      [                                                  ⁢                                                            (                                      R                    N1                                    )                                ⁢                                  (                                                            ∑                                              i                        ≠                        1                                                              ⁢                                          R                      Ni                                                        )                                            +                                                (                                      R                    N2                                    )                                ⁢                                  (                                                            ∑                                              i                        ≠                        2                                                              ⁢                                          R                      Ni                                                        )                                            +                              …                ⁢                                                                  ⁢                                  (                                      R                    Nn                                    )                                ⁢                                  (                                                            ∑                                              i                        ≠                        n                                                              ⁢                                          R                      Ni                                                        )                                                      ]                                              (        5        )                                Correction        =                              C            [                                          R                P1                2                            (                                                ∑                                      i                    ≠                    1                                                  ⁢                                  R                  Pi                                            )                        ]                    /                      [                                                  ⁢                                                            (                                      R                    P1                                    )                                ⁢                                  (                                                            ∑                                              i                        ≠                        1                                                              ⁢                                          R                      Pi                                                        )                                            +                                                (                                      R                    P2                                    )                                ⁢                                  (                                                            ∑                                              i                        ≠                        2                                                              ⁢                                          R                      Pi                                                        )                                            +                              …                ⁢                                                                  ⁢                                  (                                      R                    Pn                                    )                                ⁢                                  (                                                            ∑                                              i                        ≠                        n                                                              ⁢                                          R                      Pi                                                        )                                                      ]                                              (        6        )            Again, it should be noted that the resistors RN/P are the on-resistances of the FETs in the pairs of FETs 210-240.
In the above arrangements, the resistance values of the FETs are strongly dependent upon process (i.e., manufacturing tolerance due to errors in the manufacturing process), voltage and temperature (PVT). The sensitivity to voltage and temperature is a result of various FET parameters that show strong dependence on voltage and temperature. The sensitivity to process is due to the many parameters that are involved in the formation of FETs, including doping parameters, gate oxide parameters, silicide parameters, and the like, which may all have errors tolerances associated with them.
The capacitance value C of the node Out′ is generally considered to have weak dependence on temperature and voltage, but has more dependence on process variations for similar reasons as set forth above with regard to the FETS. However, this dependence on process variation is still smaller than that of the FET on-resistances.
Referring again to equations 5 and 6 above, it is apparent that the variability due to PVT in the second term of these equations does not cancel out. This is because the numerator of the second term is squared while the denominator consists of linear sums. Thus, the duty cycle correction varies substantially with process, voltage and temperature in the circuitry arrangements illustrated above in FIGS. 1A and 2A.
While a duty cycle correction (DCC) circuit using the topology arrangement shown in FIG. 1A or FIG. 2A may display excellent granularity and linearity, it also displays very strong undesirable dependence on process and operating voltage conditions. For example, FIGS. 3A and 3B provide exemplary plots illustrating variances in duty cycle correction range, i.e. the maximum possible duty cycle correction possible with the circuit, due to changes in operating voltage and process for the DCC circuit topologies illustrated in FIGS. 1A and 2A. In the depicted examples, the duty cycle correction is provided in terms of pico seconds (ps) such that, for example, if an original pulse width is 100 ps, then the pulse may be expanded to 105 ps or reduced to 95 ps with a 5 ps duty cycle correction.
As shown in FIGS. 3A and 3B, between 0.8V and 1.2V operating voltage, there is approximately a 40% change in DCC correction range. Moreover, between a process parameter value (nrn) of 0.03 (i.e. a fastest manufacturing process) and a process parameter value (nrn) of 0.95 (slowest manufacturing process), there is approximately an 85% change in DCC correction range. Thus, there is a large variance in DCC correction range based on operating voltage and manufacturing process, which illustrates the dependence of DCC correction on the particular operating voltage and manufacturing process used with a particular circuit.